package org.jeecg.common.util;

import org.jeecg.common.enums.IEnumDict;
import org.jeecg.common.model.EnumDictOption;

import java.util.ArrayList;
import java.util.List;

public class EnumDictUtil {

    /**
     * 获取枚举类型的字典表示。
     *
     * @param <E> 枚举类型
     * @param enumClass 枚举类
     * @return 包含枚举值及其名称的Map
     */
    public static <E extends IEnumDict> List<EnumDictOption> getDictOption(Class<E> enumClass) {
        List<EnumDictOption> list = new ArrayList<>();
        for (E enumValue : enumClass.getEnumConstants()) {
            EnumDictOption option = new EnumDictOption();
            option.setValue(enumValue.getValue());
            option.setLabel(enumValue.getLabel());
            option.setRemark(enumValue.getRemark());
            option.setKey(enumValue.getKey());
            list.add(option);
        }
        return list;
    }

}
